package Text2;
import java.util.Scanner;
public class Main {
    public static void main(String[] args) {
//        输入一个 n 行 m 列的整数矩阵，再输入 q
//        个操作，每个操作包含五个整数 x1,y1,x2,y2,c，其中 (x1,y1) 和 (x2,y2)
//        表示一个子矩阵的左上角坐标和右下角坐标。
//        每个操作都要将选中的子矩阵中的每个元素的值加上 c。
//        请你将进行完所有操作后的矩阵输出。
        Scanner scanner = new Scanner(System.in);
        int n = scanner.nextInt();
        int m = scanner.nextInt();
        int q = scanner.nextInt();
        int[][] arr = new int[n+2][m+2];
        int[][] b = new int[n+2][m+2];
        for (int i = 1; i <=n ; i++) {
            for (int j = 1; j <=m ; j++) {
                arr[i][j]=scanner.nextInt();
            }
        }
        for (int i = 1; i <=n ; i++) {
            for (int j = 1; j <=m ; j++) {
               insert(b,i,j,i,j,arr[i][j]);
            }
        }
        while(q-->0){
            int x1 = scanner.nextInt();
            int y1= scanner.nextInt();
            int x2= scanner.nextInt();
            int y2= scanner.nextInt();
            int c= scanner.nextInt();
            insert(b,x1,y1,x2,y2,c);
        }
        for (int i = 1; i <=n ; i++) {
            for (int j = 1; j <=m ; j++) {
                arr[i][j]=b[i][j]+arr[i][j-1]+arr[i-1][j]-arr[i-1][j-1];
            }
        }
        for (int i = 1; i <=n ; i++) {
            for (int j = 1; j <=m ; j++) {
                System.out.print(arr[i][j]+" ");
            }
            System.out.println();
        }
    }
    private static void insert(int[][] b, int x1,int y1,int x2,int y2, int c) {
      b[x1][y1]+=c;
      b[x2+1][y1]-=c;
      b[x1][y2+1]-=c;
      b[x2+1][y2+1]+=c;
    }
    public static void main1(String[] args) {
//        输入一个长度为 n 的整数序列。
//        接下来输入 m 个操作，每个操作包含三个整数 l,r,c，表示将序列中 [l,r]
//        之间的每个数加上 c。请你输出进行完所有操作后的序列。
        Scanner scanner = new Scanner(System.in);
        int n = scanner.nextInt();
        int m = scanner.nextInt();
        int[] arr = new int[n+1];
        int[] b = new int[n+2];
        for (int i = 1; i <=n; i++) {
            arr[i]=scanner.nextInt();
        }
        for (int i = 1; i <=n ; i++) {
            insert1(b,i,i,arr[i]);
        }
        while(m-->0){
            int l = scanner.nextInt();
            int r = scanner.nextInt();
            int c = scanner.nextInt();
            insert1(b,l,r,c);
        }
        for (int i = 1; i <=n ; i++) {
            arr[i]=arr[i-1]+b[i];
        }
        for (int i = 1; i <=n ; i++) {
            System.out.print(arr[i]+" ");
        }
    }

    private static void insert1(int[] b, int l,int r, int c) {
        b[l]+=c;
        b[r+1]-=c;
    }
}
